﻿// ChatMessageEventArgs.cs is part of AGatherBot.
//
// AGatherBot is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License version 3 as
// published by the Free Software Foundation.
//
// AGatherBot is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public version 2 License for more details.
//
// You should have received a copy of the GNU General Public License
// along with AGatherBot. If not, see <http://www.gnu.org/licenses/>.

using System;

namespace AGatherBot
{
    /// <summary>
    /// Provides data for chat message events.
    /// </summary>
    public class ChatMessageEventArgs : ChatEventArgs
    {
        #region Properties

        /// <summary>
        /// Gets the source of the chat message.
        /// </summary>
        public IAccount Source { get; private set; }

        /// <summary>
        /// Gets the target of the chat message.
        /// </summary>
        public string Target { get; private set; }

        /// <summary>
        /// Gets the text of the chat message.
        /// </summary>
        public string Text { get; private set; }

        #endregion

        #region Constructor

        /// <summary>
        /// Initializes a new instance of the <see cref="AGatherBot.ChatMessageEventArgs" /> class using
        /// the specified arguments.
        /// </summary>
        /// <param name="source">The source of the chat message.</param>
        /// <param name="target">The target of the chat message.</param>
        /// <param name="text">The text of the chat message.</param>
        public ChatMessageEventArgs(IAccount source, string target, string text)
        {
            this.Source = source;
            this.Target = target;
            this.Text   = text;
        }

        #endregion
    }
}
